﻿using Model;
using Model.DomainModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Infrastructure.IRepository
{
    /// <summary>
    /// 流程申请审核记录仓储接口
    /// </summary>
    public interface IFlowApplyRecordRepository : IRepository<FlowApplyRecord>
    {
        /// <summary>
        /// 根据节点id和流程申请id获取审核信息
        /// </summary>
        /// <param name="nodeId">节点ID</param>
        /// <param name="flowApplyId">流程申请id</param>
        /// <returns></returns>
        List<FlowApplyRecord> GetFlowApplyRecordByNodeId(string nodeId, string flowApplyId);

        /// <summary>
        /// 根据驳回节点id和流程申请id获取审核信息
        /// </summary>
        /// <param name="nodeId">节点ID</param>
        /// <param name="flowApplyId">流程申请id</param>
        /// <returns></returns>
        List<FlowApplyRecord> GetFlowApplyRecordByRejectNodeIds(string rejectNodeId, string flowApplyId);

        /// <summary>
        /// 根据流程申请id获取审核信息
        /// </summary>
        /// <param name="flowApplyId">流程申请id</param>
        /// <returns></returns>
        List<FlowApplyRecord> GetFlowApplyRecordByFlowApplyId(string flowApplyId);
    }
}
